﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using webappdotnet;

public partial class Admin_nieuweOpdracht : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!User.IsInRole("Admin"))
        {
            Response.Redirect("Default.aspx");
        }
        DropDownList1.AutoPostBack = true;
        if (DropDownList1.Items.Count == 0)
        {
            DropDownList1.Items.Add("Selecteer een klas");
            DropDownList1.Items.Add("Alle");
            List<String> klassen = Queries.getUniekeKlassen();
            foreach (String s in klassen)
            {
                DropDownList1.Items.Add(s);
            }
            DropDownList1.DataBind();
        }

        tbxDatum_CalendarExtender.SelectedDate = DateTime.Today;

    }
    protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
    {
        List<Leerling> leerlingen = null;

        if (DropDownList1.SelectedValue.ToString().Equals("Selecteer een klas"))
        {
            //Niets doen
        }
        else if (DropDownList1.SelectedValue.ToString().Equals("Alle"))
        {
            leerlingen = Queries.getAlleLeerlingen();
        }
        else
        {
            leerlingen = Queries.getLeerlingenByGroepCode(DropDownList1.SelectedValue.ToString());

        }
        ListBox1.DataSource = leerlingen;
        ListBox1.SelectionMode = ListSelectionMode.Multiple;
        ListBox1.DataTextField = "naam";
        ListBox1.DataValueField = "leerlingID";
        ListBox1.DataBind();
    }


    protected void Button1_Click(object sender, EventArgs e)
    {
        if (ListBox1.SelectedIndex == -1)
        {
            Label1.Text = "Minstens 1 leerling selecteren";
        }
        else
        {
            VoegOpdrachtToe();
            int opdrachtID = Queries.getIDLaatsteOpdracht();
            List<Leerling> list = new List<Leerling>();
            foreach (ListItem item in ListBox1.Items)
            {
                if (item.Selected == true)
                {
                    int id = Int32.Parse(item.Value);
                    Leerling leerl = Queries.getLeerlingByID(id);
                    list.Add(leerl);
                }
            }
            foreach (Leerling l in list)
            {
                int leerlingID = l.leerlingID;
                Queries.voegLeerlingMetOpdrachtToe(leerlingID, opdrachtID);
            }
            Response.Redirect("Admin.aspx");
        }
    }

    protected void VoegOpdrachtToe()
    {
        string[] datumsplit = tbxDatum.Text.Split('/');
        DateTime datum = new DateTime(Int32.Parse(datumsplit[2]), Int32.Parse(datumsplit[0]), Int32.Parse(datumsplit[1]));
        int moeilijkheidsgraad = Int32.Parse(cmbMoeilijkheidsgraad.Text);
        int maxScore = Int32.Parse(cmbMaxScore.Text);
        Queries.addOpdracht(datum, moeilijkheidsgraad, maxScore);
    }

 


}
